A wireless networks can be classified into homogeneous and heterogeneous networks based on resource and capability of the nodes of the network. In a homogeneous network, such as conventional wireless sensor network, all nodes have same resources and capabilities. On the other hand, in a heterogeneous wireless network, such as wireless Internet of Things (IoT) network, nodes have different resources and capabilities. Some nodes have more resources such as memory, storage, process power, energy supply, and communication capability. Other nodes have limited resources and capabilities. As a result, some nodes can perform more functions and other nodes can only perform limited functions.
Conventional hierarchical routing methods are designed for homogeneous wireless network and do not consider node heterogeneity and application requirement. For example, U.S. Pat. No. 8,773,992 B2, “methods and apparatus for hierarchical routing in communication networks”, determines a plurality of constrained weighted paths to connect pairs of border nodes of a cluster in the communication network, each constrained weighted path having a respective bandwidth and a respective weight. The constrained weighted path selection is based on a bandwidth threshold. It does not address how to form cluster and what metrics are used to form cluster. It does not consider whether or not selected nodes having sufficient resources to perform connection with other clusters. Therefore, only homogeneous network is considered.
US 2009/0274157 A1, “method and apparatus for hierarchical routing in multiprocessor mesh-based systems”, describes a method and apparatus for hierarchical routing in mesh systems. The method splits a mesh network of nodes into a plurality of rectangular regions, determines a partition route from a source region to a destination region of the plurality of rectangular regions, and provides a region route from a source node within one rectangular region to a destination node within the same rectangular region. The method may also include routing a packet from a source node within the source region to a destination node within the destination region using the partition route and the region route. However, this method is also designed for homogeneous network, does not consider node resources, routing metrics and objective functions, and only considers reachability.
The IPv6 Routing Protocol for Low Power and Lossy Networks (RPL) is a routing protocol developed by the Internet Engineering Task Force (IETF). The RPL organizes nodes of network into a tree-like topology called the Destination Oriented Directed Acyclic Graph (DODAG). Based on pre-determined memory thresholds, RPL defines four mode of operation (MOP): MOP=0, MOP=1, MOP=2 and MOP=3. However, the RPL requires all router nodes in a network can have same MOP, i.e., all router nodes can have MOP same as the MOP of sink node. If a node has a MOP different from the MOP of the sink node, the node can only join network as leaf node and therefore, cannot extend the network. As a result, RPL can partition a physically connected network. In addition, RPL requires a single objective function and same routing metrics within a network. As a result, RPL is also designed for homogeneous networks.
Accordingly, it is desirable to provide a resource aware routing method that adapts its routing functions based on different resources and capabilities of the nodes.